<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script src="./js/moment-with-locales.js"></script>
    <script>
      moment.updateLocale("zh-cn", {
        //设置月份名称
        months:
          "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split(
            "_"
          ),

        //设置月分名称的缩写
        monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split(
          "_"
        ),

        //设置星期名称
        weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),

        //设置星期名称的缩写
        weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"),

        //设置星期名称的最小缩写
        weekdaysMin: "日_一_二_三_四_五_六".split("_"),

        //设置长日期格式，是个对象
        longDateFormat: {
          LT: "Ah点mm分",
          LTS: "Ah点m分s秒",
          L: "YYYY-MM-DD",
          LL: "YYYY年MMMD日",
          LLL: "YYYY年MMMD日Ah点mm分",
          LLLL: "YYYY年MMMD日ddddAh点mm分",
          l: "YYYY-MM-DD",
          ll: "YYYY年MMMD日",
          lll: "YYYY年MMMD日Ah点mm分",
          llll: "YYYY年MMMD日ddddAh点mm分",
        },

        //设置相对时间，from()与to()的方法返回的值就是从这里取的
        relativeTime: {
          future: "%s内",
          past: "%s前~~~",
          s: "几秒",
          m: "1 分钟",
          mm: "%d 分钟",
          h: "1 小时",
          hh: "%d 小时",
          d: "1 天",
          dd: "%d 天",
          M: "1 个月",
          MM: "%d 个月",
          y: "1 年",
          yy: "%d 年",
        },

        //设置时间段，参数：小时,分钟,大小写
        meridiem: function (hour, minute, isLower) {
          const hm = hour * 100 + minute;
          if (hm < 600) {
            return "凌晨";
          } else if (hm < 900) {
            return "早上";
          } else if (hm < 1130) {
            return "上午";
          } else if (hm < 1230) {
            return "中午";
          } else if (hm < 1800) {
            return "下午@@@@";
          } else {
            return "晚上";
          }
        },

        //设置日历
        calendar: {
          sameDay: function () {
            return this.minutes() === 0 ? "[今天]Ah[点整]" : "[今天]LT";
          },
          nextDay: function () {
            return this.minutes() === 0 ? "[明天]Ah[点整]" : "[明天]LT";
          },
          lastDay: function () {
            return this.minutes() === 0 ? "[昨天]Ah[点整]" : "[昨天]LT";
          },
          nextWeek: function () {
            let startOfWeek, prefix;
            startOfWeek = moment().startOf("week");
            prefix = this.diff(startOfWeek, "days") >= 7 ? "[下]" : "[本####]";
            return this.minutes() === 0
              ? prefix + "dddAh点整"
              : prefix + "dddAh点mm";
          },
          lastWeek: function () {
            let startOfWeek, prefix;
            startOfWeek = moment().startOf("week");
            prefix = this.unix() < startOfWeek.unix() ? "[上]" : "[本]";
            return this.minutes() === 0
              ? prefix + "dddAh点整"
              : prefix + "dddAh点mm";
          },
          sameElse: "LL",
        },
        week: {
          dow: 1, //星期的第一天是周1
          doy: 4,
        },
      });

      console.log(moment().calendar(moment[(2020, 3, 15)]));
    </script>
  </body>
</html>
